1. Field of the Invention
The present invention relates to multi-media systems including television interactive services and, more particularly, to the control of interconnected multi-media systems via macros.
2. Description of the Related Art
What are known as multi-media systems include many types of audio/video (AN) devices such as televisions, DVDs, VCRs, multi-media terminals (set-top boxes or the like), receivers, and the like. These A/V devices can be both digital and analog. These systems are usually coupled to one another generally through a multi-media terminal. New A/V devices may be added from time to time. As a result, the owner or viewer is confronted with a variety of complex and often different controlling functions.
In view of this complex array of devices, there is a need to simplify the task of controlling the devices. One method for control is known as the macro. A macro is a sequence of instructions or commands that is usually invoked with a single key or instruction. User-defined macros allow the user to define the sequence of instructions or commands to be performed such as are common in computer programs such as word processing programs. A macro key is a programmable key that enables the viewer to perform a predefined sequence of commands with one key.
The problem, however, with current user-defined macros is that they pertain to a single device with a computer as well being defined as a single device. What is therefore needed is a way to control the many devices of a multi-media system via a single audio/video or multi-media device or terminal.
The present invention is a system and method for controlling or programming multiple audio/video or multi-media devices that are in communication with at least one common audio/video device.
In one form, the present invention provides an addressing system for coupled audio/video (A/V) devices based on a master/slave relationship. Such addressing system reduces the amount of transmitted data between the devices.
According to one embodiment, each A/V device, in addition to its normal function, includes memory and processing capabilities necessary to implement code, transmit and receive data over a bus structure, and store various macro instructions. At least one of the A/V device includes macro keys for programming and running a macro which can control the operation of any of the coupled A/V devices.
Since the local command codes for the various A/V devices are different, the present invention provides an addressing scheme wherein dummy numbers or macro command numbers (MCNs) which are used to define every command in a macro, and messages or status words are exchanged on a bus between master and slave A/V devices. When a user first presses the macro key of one of the A/V devices, that A/V device becomes the master A/V device and sends a first macro command number (MCN) on the bus. Depending on which A/V device the user selects for programming, that A/V device becomes a slave A/V device and that A/V device accepts the MCN and sends an acknowledge message to the master A/V device via the bus. The master A/V device recognizes that a slave macro command has been selected by the user, and then generates the next MCN (dummy number) for the next macro command. This can be any A/V device. Upon completion of the steps, the macro key is again pressed. The master A/V device does not use the MCN for its own macro commands, but for the slave A/V devices.
In addition to other features, the present invention provides 1) that local device data is internally processed at high speed by the particular A/V device; 2) that no device addresses are required (which enables the easy addition of additional A/V devices); 3) each A/V device uses its own internal device command codes; and 4) that there is a reduced amount of external transferred data (which compensate for any slow data bus used).
In one form, a connected display device such as a television or monitor, can display the macro commands during programming and/or during the macro run. In this regard, the devices involved in the macro would send the text information about the macro command(s) to the monitor. Thus, every step of the chosen macro would appear on the display device.